//||=========================================================================||
//||                                                                         ||
//||                                main.cpp                                 ||
//||                                                                         ||
//||                           by the_best_goose))                           ||
//||                                                                         ||
//||=========================================================================||

//-----------------------------------------------------------------------------
//! \file       main.cpp
//! It contains only main function of the program.
//! \brief      Main file of TBG-Fractal project.
//! \mainpage
//!
//! \brief      TBG-Fractal application for fractals counting and imagine
//!
//! \version    [Version 0.01 alpha, build 1]
//! \author     Copyright (C) the-best-goose,
//!             2010-04 (Oleg Ponomarev <the_best_goose@mail.ru>)
//! \date       2010
//!
//! \warning  - This is the first alpha version therefore it is not stable!

#include <QtGui>
#include <QtCore>
#include "MainWindow.h"
#include "MandelbrotWgt.h"
#include "MandelbrotPicture.h"
#include "MandelbrotCounter.h"
#include "SimpleCudaCounter.h"
#include "TemplateMakers.h"
#include "CudaCounter.h"

//-----------------------------------------------------------------------------

//! Initializes MainWindow class and gives control to QApplication
//! class object.
//! \brief The initial program function
//! \return  Success of the program executing.

int main(int argc,    //!< Command line arguments count
		 char* argv[] //!< Command line arguments array
		 );

//-----------------------------------------------------------------------------

int main(int argc, char* argv[])
{
    QApplication app(argc, argv);
	MainWindow* pwgt = new MainWindow(MakeMandelbrotWgt<MandelbrotWgt,
			                          MandelbrotPicture,
			                          CudaCounter>);
	pwgt->show ( );
    return app.exec();
}
